﻿using System;


namespace BizElements.BusinessLayer
{
    /// <summary>
    /// Specifies flags that control how <see cref="IAppSettingsManager"/> interpretes a filter.
    /// </summary>
    [Flags]
    public enum AppSettingsFilterOptions : int
    {
        #region Flags.

        /// <summary>
        /// <see cref="IAppSettingsManager"/> uses it's default behavior. 
        /// </summary>
        None = 0,

        /// <summary>
        /// Specifies that global settings are included even if <see cref="IAppSetting.ActorId"/> is not null.
        /// </summary>
        IncludeGlobalSettings = 1,

        /// <summary>
        /// Specifies that context free settings are included even if <see cref="IAppSetting.Context"/> is not null.
        /// </summary>
        IncludeContextFreeSettings = 2,

        /// <summary>
        /// Specifies that context dependent settings are included even if <see cref="IAppSetting.Context"/> is null.
        /// </summary>
        IncludeContextualSettings = 4

        #endregion
    }
}
